package com.dalin.framework.common.clazz;

import com.dalin.framework.common.utils.StringUtils;
import com.dalin.framework.common.PropertyConst;

/*****************************************************************************
 * @content: 函数参数类                                                                                                                          *
 * @author : 那建林                                                                                                                                 *
 * @crtDate: 2009-10-03                                                     *
 * @modDate: 2010-05-11                                                     *
 * @version: 1.11                                                           *
 ****************************************************************************/
public class ArgList {
	private int typeCount = 0;
	private StringBuffer buf = new StringBuffer();
	
	/*************************************************************************
	 * @content: 添加参数
	 * @param  : type 参数类型
	 * @param  : name 参数名称
	 * @return : ArgList
	 * @remark : 
	 * @author : 那建林
	 * @crtDate: 2010-05-11
	 * @chaDate: 2010-05-11
	 */
	public ArgList add(final String type, final String name) {
		if (StringUtils.isBlank(type) || StringUtils.isBlank(name)) {
			return this;
		}
		if (typeCount > 0) {
			buf.append(PropertyConst.COMMA).append(PropertyConst.SPACE);
		}
		buf.append(type).append(PropertyConst.SPACE).append(name);
		typeCount++;
		return this;
	}
	
	
	/*************************************************************************
	 * @content: 返回参数名称数组
	 * @return : String[]
	 * @remark : 
	 * @author : 那建林
	 * @crtDate: 2010-05-11
	 * @chaDate: 2010-05-11
	 */
	public String[] getNameArray() {
		return StringUtils.getStrArrayFromComma(buf.toString());
	}
	
	
	
	public String toString() {
		return buf.toString();
	}
}